package net.soevar.database.dao;

public abstract class DaoFactory {

	private static DaoFactory instance;

	private static final String daoFactoryClassName = "net.soevar.database.dao.HibernateDaoFactory";

	/**
	 * @return kembaliannya
	 */
	public static DaoFactory getInstance() {
		if (instance == null) {
			try {
				instance = (DaoFactory) Class.forName(daoFactoryClassName)
						.newInstance();
			} catch (Exception e) {
				throw new RuntimeException(
						"Could not instantiate DAO factory class ["
								+ daoFactoryClassName + "]", e);
			}
		}
		return instance;
	}

	/**
	 * @return kembaliannya
	 */
	public abstract AthRoleDao getAthRoleDao();

	public abstract AthUserDao getAthUserDao();

	public abstract AgamaDao getAgamaDao();

	public abstract JenisBeritaDao getJenisBeritaDao();

	public abstract BeritaDao getBeritaDao();

}
